#ifndef _ANIMATIONDEF_H_
#define _ANIMATIONDEF_H_

#include "Direct3D.h"
class cAnimationVectorKey
{
	public:
		DWORD m_Time;
		D3DXVECTOR3 m_vecKey;
};

class cAnimationQuaternionKey
{
	public:
		DWORD m_Time;
		D3DXQUATERNION m_quatKey;
};

class cAnimationMatrixKey
{
	public:
		DWORD m_Time;
		D3DXMATRIX m_matKey;
};

class cAnimation
{
	public:
		char *m_Name;
		D3DXFRAME_EX *m_Bone;
		cAnimation *m_Next;

		DWORD m_NumTranslationKeys;
		cAnimationVectorKey *m_TranslationKeys;
		DWORD m_NumScaleKeys;
		cAnimationVectorKey *m_ScaleKeys;
		DWORD m_NumRotationKeys;
		cAnimationQuaternionKey *m_RotationKeys;
		DWORD m_NumMatrixKeys;
		cAnimationMatrixKey *m_MatrixKeys;

		cAnimation();
		~cAnimation();

		void DeleteAni();
};

class cAnimationSet
{
	public:
		char *m_Name;
		DWORD m_Length;
		cAnimationSet *m_Next;

		DWORD m_NumAnimations;
		cAnimation *pCurAnimation;

		cAnimationSet();
		~cAnimationSet();

		void DeleteAniSet();
};

#endif
